﻿using Orleans;
using Pay.Model.Interfaces;
using Pay.Model.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Pay.Service
{
   public  interface IRoleService: IGrainWithStringKey
    {
        Task<bool> DeleteMenuByRoleId(long roleId);
        Task<bool> Update(RoleInfo model);
        Task<List<RoleMenuInfo>> GetMenuByRoleId(long roleId);
        Task<long> Add(RoleMenuInfo model);
        Task<List<MenuInfo>> GetAllMenu();
        Task<long> Add(RoleInfo model);
        Task<bool> Delete(long roleId);
        Task<List<RoleInfo>> GetRoleByType(int type);
        Task<RoleInfo> GetRoleById(long id);
        Task<IPagedOutput<RoleInfo>> GetPage(string searchWord, DateTime? timeBegin = null, DateTime? timeEnd = null, int offset = 10, int rows = 1);
    }
}
